home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO001.dsk / FIN / MORTGAGE.TABLE.bas < prev    next >
BASIC Source File  |  2012-02-16  |  2KB  |  79 lines

  1. 10  PRINT "MORTGAGE AMORTIZATION TABLE"
  2. 20  PRINT 
  3. 30  PRINT "REGULAR PAYMENT";
  4. 40  INPUT R
  5. 50  PRINT "TERM IN YEARS, MONTHS";
  6. 60  INPUT Y0,M
  7. 65 Y = (12 *Y0 +M)/12
  8. 70  PRINT "PRINCIPAL";
  9. 80  INPUT P
  10. 90  PRINT "ANNUAL INTEREST RATE";
  11. 100  INPUT I
  12. 110 I = I/100
  13. 120  PRINT "NUMBER OF PAYMENTS PER YEAR";
  14. 130  INPUT N
  15. 140  PRINT "START PRINTING WITH WHAT YEAR";
  16. 150  INPUT X
  17. 155  PRINT "<CTRL-D>PR#1": PRINT "<CTRL-I>K": HOME 
  18. 160 X =  INT(X)
  19. 170 C1 = 0
  20. 180 I2 = 0
  21. 190 I3 = 0
  22. 200 J0 = 0
  23. 210 N1 = N
  24. 220 K = 66
  25. 230 B0 = P
  26. 240 A1 = 0
  27. 250 A2 = 0
  28. 260  IF  INT(Y) <1  THEN 690
  29. 270  FOR J0 = 1 TO  INT(Y)
  30. 280  IF J0 <X  THEN 410
  31. 290  IF K +N +3 <58  THEN 400
  32. 300  FOR K1 = K TO 66
  33. 310  PRINT 
  34. 320  NEXT K1
  35. 330  PRINT " "
  36. 340  PRINT "                    MORTGAGE AMORTIZATION TABLE"
  37. 350  PRINT "      PRINCIPAL $";P;"   AT ";I *100;"%  FOR ";Y0;" YEARS ";M;" MONTHS"
  38. 360  PRINT "            REGULAR PAYMENT = $";R
  39. 370  PRINT " "
  40. 380  PRINT "NO."; TAB( 10);"INTEREST"; TAB( 20);"AMORTIZED"; TAB( 30);"BALANCE"; TAB( 40);"ACCUM INTEREST"
  41. 390 K = 7
  42. 400 K = K +N +3
  43. 410  FOR J1 = 1 TO N1
  44. 420 I1 =  INT((B0 *I/N) *100 +.5)/100
  45. 430 C1 = C1 +1
  46. 440 A = R -I1
  47. 450 A1 = A1 +A
  48. 460 B0 = P -A1
  49. 470  IF C1 < >N *Y  THEN 520
  50. 480 R = R +B0
  51. 490 A = A +B0
  52. 500 A1 = A1 +B0
  53. 510 B0 = 0
  54. 520 I2 = I2 +I1
  55. 530 I3 = I3 +I1
  56. 540 A2 = A2 +A
  57. 550  IF J0 <X  THEN 570
  58. 560  PRINT J1; TAB( 10);I1; TAB( 20);A; TAB( 30);B0; TAB( 40);I2
  59. 570  NEXT J1
  60. 580  IF C1 < >N *Y  THEN 600
  61. 590  PRINT "       LAST PAYMENT = $";( INT(R *100 +.5))/100
  62. 600  IF J0 <X  THEN 640
  63. 610  PRINT " "
  64. 620  PRINT "YR.";J0; TAB( 10);I3; TAB( 20);A2
  65. 630  PRINT " "
  66. 640  IF J0 >Y  THEN 720
  67. 650 I3 = 0
  68. 660 A2 = 0
  69. 670  NEXT J0
  70. 680  IF Y = J0  THEN 720
  71. 690 N1 = ((Y - INT(Y)) *12)/12 *N
  72. 700 J0 = J0 +1
  73. 710  GOTO 280
  74. 720  PRINT 
  75. 730  PRINT "CHANGE DATA AND RECOMPUTE? (1=YES, 0=NO)";
  76. 740  INPUT Z
  77. 750  IF Z = 1  THEN 20
  78. 760  PRINT "<CTRL-D>PR#0"
  79. 770  PRINT "<CTRL-D>RUN HELLO"